动手学ROS(2): Topic通信机制 | 您所在的位置:网站首页 › ros subscriber回调机制 › 动手学ROS(2): Topic通信机制 |
动手学ROS(2): Topic通信机制
程法说
分类:ROS入门教程
发布时间 2021.08.18阅读数 5160 评论数 0
ros中的通信方式有三种: Topic类似于mq(消息队列),异步收发;分为publisher和subscriber; Service类似http请求,同步; Action基于topic,实现了一种类似于service的请求/响应通讯机制,区别在于action带有反馈机制,用来不断向客户端反馈任务的进度,并且还支持在任务中途中止运行。常用于机器人的操控。 本教程重点介绍Topic的用法,Service和Action请自行查阅官方文档,不再赘述。 题外话:笔者在该系列教程中只会讲解个人认为的重点,不想面面俱到;同时控制篇幅,保证每篇内容不会太长。 1 定义Publisher 新建pkg $ catkin_create_pkg ros_topic std_msgs roscpp注意我们选择依赖std_msgs,本节会用到此pkg中的标准类型。 新建ros_topic_publisher.cpp该示例来自 link #include "ros/ros.h" #include "std_msgs/String.h" #include int main(int argc, char **argv) { ros::init(argc, argv, "publisher"); ros::NodeHandle n; ros::Publisher chatter_pub = n.advertise("chatter", 100); ros::Rate loop_rate(10); int count = 0; while (ros::ok()) { std_msgs::String msg; std::stringstream ss; ss分享 微信 微博 QQ 图片 上一篇:动手学ROS(1): 创建ros节点 下一篇:动手学ROS(3): 自定义消息类型 |
CopyRight 2018-2019 实验室设备网 版权所有 |